package com.ydcloud.${packageName}.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.ydcloud.${packageName}.domain.${jName};
import com.ydcloud.${packageName}.domain.criteria.${jName}Criteria;

/*********************************************************************************************************
 * Copyright (c) 
 * All rights reserved.
 *
 * 文件名称:public class ${jName}Dao{ } 
 * 
 * 摘    要： 
 * 版    本：1.0
 * 作    者：${createBy}
 * 创建于：${createDate}
 * 最后修改时间：
 * 
 *********************************************************************************************************/
@Repository("${jPname}Dao")
public interface ${jName}Dao {
	long countByCriteria(${jName}Criteria example);
    
    int countPage(Map<String, Object> map);
    
    List<${jName}> queryPageList(Map<String,Object> map);

    int deleteByCriteria(${jName}Criteria example);

    int deleteByPrimaryKey(Long id);

    int insert(${jName} record);
    
    void batchInsert(List<${jName}> list);

    int insertSelective(${jName} record);

    List<${jName}> selectByCriteria(${jName}Criteria example);

    ${jName} selectByPrimaryKey(Long id);

    int updateByCriteriaSelective(@Param("record") ${jName} record, @Param("example") ${jName}Criteria example);

    int updateByCriteria(@Param("record") ${jName} record, @Param("example") ${jName}Criteria example);

    int updateByPrimaryKeySelective(${jName} record);
    
    int updateByIdAndResource(${jName} record);

    int updateByPrimaryKey(${jName} record);
    
    void batchUpdate(List<${jName}> list);

}